package com.community.util.pdf;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.springframework.web.multipart.MultipartFile;

import java.io.*;

public class PdfUtil {
	 public static String PDFtoTXT(File pdf ,File road) {
	        PDDocument pd;
	        BufferedWriter wr;
	        try {
	            File input = pdf; 
	            File output = new File(pdf.getName().split("\\.")[0] + ".txt");
	            pd = PDDocument.load(input);
//	            pd.save("CopyOf" + pdf.getName().split("\\.")[0] + ".pdf");
	            PDFTextStripper stripper = new PDFTextStripper();
	            wr = new BufferedWriter( new OutputStreamWriter(
	                    new FileOutputStream(road+"\\"+output)));
	            stripper.writeText(pd, wr);
	            if (pd != null) {
	                pd.close();
	            }
	            wr.close();
	            return road+"\\"+output;
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
			return null;
	    }

	public static String[] pdfToText(MultipartFile pdf) {
		try (PDDocument pd = PDDocument.load(pdf.getInputStream())){
			PDFTextStripper stripper = new PDFTextStripper();
			String str = stripper.getText(pd);
			return str.split("\n");
		}catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

	    public static void main(String[] args) {
	        //将当前目录下的pdf文件转成txt文件
	        File pdf = new File("E:\\D\\Desktop\\项目\\高考/test.pdf"); //获得当前路径
			//对pdf文件进行操作
			if(pdf.getName().matches(".*\\.pdf$")) {
				PDFtoTXT(pdf,new File("E:\\D\\Desktop\\项目\\高考/"));
			}
////	      删除产生的txt文件
//	        for(File file : files) {
//	            if(file.getName().matches(".*\\.pdf$")) {
//	                new File(file.getName().split("\\.")[0] + ".txt").delete();
//	            }
//	        }
	    }
}


